\chapter{Cycle de vie}
\label{chap:cycle.vie}
\minitoc

\section{Motivation du choix}

Chaque attente du client peut \^etre atteinte ind\'ependamment des autres. L'utilisation d'un 
cycle de vie permettant de d\'evelopper chacun des modules de bout en bout s\'epar\'ement est donc appropri\'ee. 
Le produit final sera donc livr\'e par lots successifs, correspondant \`a un ``commit'' dans la communaut\'e Open Source. 
Le cycle de vie choisi est un cycle incr\'emental. Pour plus de d\'etails, consultez le Plan D\'eveloppement, chapitre Methodologie
de mise en \oe uvre.

%-------------------------------------%

\section{Description des \'etapes du cycle de vie}
\begin{description}
 \item[Analyse des besoins] Cette \'etape permet de prendre en compte les besoins du client, choisir le cycle de vie \`a adopter, d\'efinir le planning et pr\'eparer l'acquisition des outils de programmation. 
 \item[Sp\'ecifications externes] Cette \'etape permet de d\'efinir pr\'ecis\'ement l'ensemble des fonctionnalit\'es, d'\'etudier l'interface homme-machine du syst\`eme, de se former aux outils utilis\'es et de pr\'eparer les tests syst\`eme. 
 \item[Conception] Cette \'etape permet de d\'efinir l'architecture interne du logiciel, d'acqu\'erir et d'installer les outils de programmation et de pr\'eparer les tests d'int\'egration.
 \item[Codage] Cette \'etape regroupe la phase de conception d\'etaill\'ee et de codage. Elle permet de d\'etailler pr\'ecis\'ement la conception globale par module afin de pouvoir les d\'evelopper et pr\'eparer les tests unitaires. Le codage permet de traduire la conception d\'etaill\'ee en un programme. 
 \item[Tests] Cette \'etape permet, \`a l'aide des plans de tests, de tester le logiciel d\'evelopp\'e dans l'ordre suivant : tests d'int\'egration, tests syst\`eme, tests d'acceptation. L'observation et la comparaison avec les r\'esultats attendus permettront de modifier si n\'ecessaire le logiciel. 
 \item[Livraison] Livraison du logiciel au client.
 \end{description}

%-------------------------------------%

\section{Phase du cycle de vie}
Voici pour chaque \'etape du cycle de vie incr\'emental les documents requis et produits, ainsi que les conditions de passage d'une \'etape \`a une autre:

\subsection{Analyse des besoin}


Activit\'es :
\begin{itemize}
              \renewcommand{\labelitemi}{$\bullet$}
	      \item Description d\'etaill\'ee des cas d'utilisation ainsi que de leur degr\'e d'importance
	      \item R\'eunion de validation des cas d'utilisation
	      \item Pr\'eparation des tests d'acceptation
	      \item Choix du cycle de vie
 \end{itemize}


Documents produits :\begin{itemize}
		     \renewcommand{\labelitemi}{$\bullet$}
                     \item CdC
		     \item PDL
		     \item PAQL
                     \item Plan de tests (d'acceptation)
                    \end{itemize}


Condition : Validation du CdC par le MOAd

%-------------------------------------%

\subsection{Sp\'ecifications externes}
Activit\'es :
\begin{itemize}
              \renewcommand{\labelitemi}{$\bullet$}
	      \item \'Etude sur l'IHM de l'outil \`a d\'evelopper
	      \item R\'ealisation de maquettes
	      \item Pr\'eparation des tests syst\`eme
	      \item Mise \`a jour des documents \'etablis dans l'\'etape pr\'ec\'edente
	      \item R\'edaction du manuel utilisateur
 \end{itemize}

Documents requis : CdC

Documents produits :\begin{itemize}
		     \renewcommand{\labelitemi}{$\bullet$}
                     \item DSE
		     \item Manuel utilisateur
		     \item Plan de tests syst\`eme
                    \end{itemize}


Condition : Validation des documents par le MOAd

%-------------------------------------%

\subsection{Conception}
Activit\'es :
\begin{itemize}
              \renewcommand{\labelitemi}{$\bullet$}
	      \item D\'efinition de l'architecture du logiciel
	      \item Appropriation des outils de d\'eveloppement
	      \item Pr\'eparation des tests d'int\'egration
	      \item Mise \`a jour du manuel utilisateur
 \end{itemize}

Documents requis : DSE

Documents produits :\begin{itemize}
		     \renewcommand{\labelitemi}{$\bullet$}
                     \item DCG
%		     \item DCD
		     \item Plan de tests d'int\'egration et de tests syst\`eme
                    \end{itemize}


Condition : Validation des documents par le MOAd

%-------------------------------------%

\subsection{Codage}
Activit\'es :
\begin{itemize}
              \renewcommand{\labelitemi}{$\bullet$}
	      \item Codage de l'incr\'ement
	      \item Documentation technique
	      \item Mise \`a jour du manuel utilisateur
 \end{itemize}

Documents requis : DCG
%-------------------------------------%

\subsection{Tests}
Activit\'es :
\begin{itemize}
              \renewcommand{\labelitemi}{$\bullet$}
	      \item R\'ealisation des jeux de tests
	      \item Correction du code si besoin
 \end{itemize}

Documents requis : Ensemble des plans de tests

Documents produits : Rapports de tests

Condition : Jeux de tests concluants

%-------------------------------------%
\subsection{Livraison}
Activit\'es :
\begin{itemize}
              \renewcommand{\labelitemi}{$\bullet$}
	      \item R\'ealisation des tests d'acceptation par le client
 \end{itemize}

Documents requis : Jeux de tests d'acceptation

%-------------------------------------%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Documentation produite}

A l'issue de ce projet, plusieurs documents auront \'et\'e produits. Certains devront \^etre livr\'es avec le produit fini, certains seront disponibles si le client le souhaite et certains ne serviront qu'\`a l'\'equipe de d\'eveloppement. En suite, on pr\'ecise pour chaque document son statut.

\begin{itemize}
 \item Cahier des charges - Livrable
 \item Plan d'assurance qualit\'e logicielle - Livrable
 \item Plan de d\'eveloppement logiciel - Livrable
 \item Dossier de sp\'ecifications externes - Livrable
 \item Dossier de conception globale - Consultable
% \item Dossier de conception d\'etaill\'ee - Consultable
 \item Plans de tests - Livrable
 \item Manuel utilisateur - Livrable
\end{itemize}

%end chapter4.tex